package my.edu.model.information.service;

import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.extension.service.IService;
import my.edu.common.domain.PageDTO;
import my.edu.common.domain.PageVO;
import my.edu.model.information.entity.Customer;
import my.edu.model.information.entity.CustomerReceivableBalanceDetail;
import my.edu.model.information.entity.VO.CustomerVO;
import my.edu.model.information.entity.dto.CustomerDTO;
import my.edu.model.information.entity.dto.CustomerSearchDTO;

import java.util.List;

public interface ICustomerService extends IService<Customer> {

    void savenew(CustomerDTO customerDTO);

    void updateByDTO( CustomerDTO customerDTO);

    PageVO<CustomerVO> listAll(PageDTO pageDTO, CustomerSearchDTO customerSearchDTO);

    CustomerVO getVOById(String id);

    void addReceivableBalanceDetails(CustomerReceivableBalanceDetail receivableBalance);

    void subReceivableBalanceDetails(List<CustomerReceivableBalanceDetail> receivableBalances);

    void setStatus(List<Long> longs, int status);

    void updateReceivableBalanceDetails(CustomerReceivableBalanceDetail receivableBalance);

    JSONArray listAllOnly();

    void checkCustomer(Long customerId);
}
